/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef CONFIG_H
#define CONFIG_H

#include "Common.h"

class Config
{
public:
	Config( __in const std::string &ConfigFilePath );
	~Config( );
private:
	std::map< std::string, std::string > Contents;
	std::string Path;
public:
	bool IsLoaded;
private:
	void Extract( );
	bool IsValidLine( __inout std::string &Line ) const;
	void CleanUpLine( __inout std::string &Line ) const;
public:
	bool KeywordExists( __in std::string Keyword ) const;
	std::string GetKeywordValue( __in std::string Keyword ) const;
};

void ConfigurateGLX( );

#endif // CONFIG_H